extensions: align rounding of R'G'B'A u8 -> cairo-ARGB32 with reference conversion
authorSimon Budig <simon@budig.de>
Tue, 15 Nov 2016 01:34:27 +0000 (02:34 +0100)
committerSimon Budig <simon@budig.de>
Tue, 15 Nov 2016 01:35:18 +0000 (02:35 +0100)
extensions/cairo.c

index 64af7be230475f955aa182f5403604870eed967e..0c4ca78a4f5dc1131c16e5b15d94c6c05829fe44 100644 (file)
@@ -78,7 +78,7 @@ conv_rgbA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
   long n = samples;
   while (n--)
     {
-#define div_255(a) ((((a)+127)+(((a)+127)>>8))>>8)
+#define div_255(a) ((((a)+128)+(((a)+128)>>8))>>8)
       dst[0] = div_255 (src[2] * src[3]);
       dst[1] = div_255 (src[1] * src[3]);
       dst[2] = div_255 (src[0] * src[3]);